<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
            若我们使用async配合await这种写法
                1.表面上不出现任何的回调函数
                2.但实际上底层把我们写的代码进行了加工，把回调函数“还原”回来了
                3.最终运行的代码依然是有回调的，只是程序员没有看见
        */

        /*
            比如以这个demo函数为例，我们的代码是这样写的，但是实际上我们的代码运行的时候是这样的
            demo(){
                Promise.resolve(100).then(
                    res=>{
                        console.log(1)
                    }
                )
            }
        */
        async function demo(){
            let res = await Promise.resolve(100)
            console.log(1)
        }
        demo()
        console.log(2);
    </script>
</body>
</html>